Various industrial robots for screw tightening, welding and painting to a work-piece, carrying thereof, attachment of a part to the work-piece, and soldering, etc., include, for example, a vertical multi-jointed moving unit, move a work tool attached to the moving unit to a predetermined point, change the posture thereof, and actuate the work tool under a programmed control by a computer.
Control programs for robots are described by various robot languages, such as SLIM (Standard Language for Industrial Manipulators) and super SLIM. The major part of a programming is processes facing computer-aided tools including a code entry and a function calling through a keyboard and a GUI, but recording of points and postures is mainly carried out through a teaching.
In a teaching, a teaching engineer operates, using a computer-aided tool or a teaching pendant, a robot on a simulator, an emulator, or in an actual circumstance. The teaching engineer carries out JOG movement on a work tool to a desired point, takes the desired posture of the work tool, and records this point and this posture as point data. The point data is called at the time of the execution of a program. During this procedure, the controller of the robot tracks the movement of the moving unit when, for example, the robot language is based on the SLIM, analyzes the X, Y, and Z coordinates of a point and respective rotation angles of two axes, etc., representing the posture of the work tool, associates the analysis result with variables to be added to a Move instruction, etc., thereby recording the analysis result.
In the case of, for example, a screw tightening robot, the teaching engineer carries out a teaching for a screw tightening start point that is apart from a seating point by what corresponds to at least screw tightening length in the vertical direction. The teaching engineer moves the work tool in the X, Y, and Z directions, and rotates it in parallel with a horizontal plane and with a vertical plane with reference to the seating point while visually checking the condition, and aligns the work tool with the screw tightening start point.
When the seating point is present on the horizontal plane of a work-piece, it is fine for the teaching engineer if the teaching engineer only pays attention to the horizontal movement of the work tool. As to the height direction and posture of the work tool, simple operations that satisfy the numerical values are sufficient. In a case in which, for example, the work tool ascends by 1 mm if a +Z-direction button is depressed once, when the screw tightening length is 9 mm, after the work tool is located at the seating point, if the +Z-direction button is depressed nine times, the designation in the height direction can be completed. As to the rotation angle parallel to the vertical plane, it is fine if the work tool is simply returned to the initial value like a directly underneath location.
Hence, the screw tightening start point is present in an aerial region where there is no marking which indicates that point, but the teaching can designate the screw tightening point relatively easily and highly precisely. In cases in which, other than a screw tightening, a work point and a point where the work tool is to be located differ from each other and the point where the work tool is to be located is present in an aerial region without an apparent marking, but when the work point is present on a horizontal plane or a vertical plane, the teaching can be done relatively easily and highly precisely.
In recent years, demands are increasing for performing, using a robot, a work like a screw tightening on a multi-faced three-dimensional work-piece which has inclined surfaces directed at various inclination angles and in various directions. At the time of a programming, it is necessary to perform a teaching of directing the work tool that is located at, for example, a screw tightening start point to a work point which is apart from the work point like a screw tightening point on an inclined surface by an appropriate distance by what corresponds to a screw tightening length, etc., in the vertical direction.
In this teaching, it is necessary to measure the inclined surface of the work-piece by a visual check, and to obtain an appropriate image of a virtual line which interconnects the work tool with the work point and which is vertical to the inclined surface in order to precisely direct the work tool toward the work point. In addition, it is also necessary to appropriately calculate the moving amounts in the respective X, Y, and Z axes while applying a mathematical scheme like a trigonometric function to obtain a proper distance between the work tool and the work point.
Still further, the teaching of setting the posture of the work tool and that of setting the position thereof are unified procedures, and affect with each other. For example, even if a proper distance is obtained first, when the work tool is rotated around a motor shaft to change the posture, the obtained proper distance is changed.
In a teaching work, if an appropriate position of the work took is not taught, and the appropriate posture thereof is not taught, the angle of a screw becomes slightly misaligned with the seating point, and the screw tightening amount becomes insufficient, affecting the certainty of the screw tightening work. This remarkably affects the quality of a work done by a robot. Hence, when a work point is present on an inclined surface, the teaching work requires great patience to the teaching engineer.
The present disclosure has been made in order to address the aforementioned problems of the conventional technologies, and it is an objective of the present disclosure to provide a robot which can reduce the labor effort of a teaching that starts a process from a first point apart from an inclined surface in the vertical direction to a second point on the inclined surface, and which can accomplish a highly precise teaching.